package designpattern.struct.proxy.statics;

/**
 * 代理类（静态代理）
 *
 * @author cuihao
 * @date 2017/12/11
 */
public class ProxyHello implements IHello {
    private final IHello hello;

    public ProxyHello(IHello hello) {
//        super();
        this.hello = hello;
    }

    @Override
    public void sayHello(String str) {
        before();
        //此处调用目标对象的方法
        hello.sayHello(str);
        after();
    }

    void before() {
        System.out.println("proxy before");
    }

    void after() {
        System.out.println("proxy after");
    }
}